home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-04d.zip / 04d / CHIP / Porady / Skuteczne wymazywanie danych / Eraser 5.82 / eraser582setup.exe / {app} / Boot / wipe.txt < prev   
Text File  |  2002-10-30  |  3KB  |  79 lines

  1. wipe (aka ya-wipe) by Tom Vier <nester@users.sf.net>
  2.  
  3. See INSTALL for installation instructions and LICENSE for license
  4. and warranty.
  5.  
  6. Wipe is a secure file wiping utility. There are some low level issues
  7. that must be taken into consideration. One of these is that there must
  8. be some sort of write barrier between passes. Wipe uses fdatasync(2)
  9. (or fsync(2)) as a write barrier, or if fsync(2) isn't available, the
  10. file is opened with the O_DSYNC or O_SYNC flag. For wipe to be
  11. effective, each pass must be completely written. To ensure this, the
  12. drive must support some form of a write barrier, write cache flush, or
  13. write cache disabling. SCSI supports ordered command tags, has a force
  14. media access bit for commands, and write cache can be disable on mode
  15. page 8. IDE/ATA drives support write cache flushes and write cache
  16. disabling. Unfortunetly, not all drives actually disable write cache
  17. when asked to. Those drives are broken. Write caching should always be
  18. disabled, unless your system is battery backed and always powers down
  19. cleanly. See this thread from the linux kernel list:
  20.  
  21. http://www.uwsg.iu.edu/hypermail/linux/kernel/0103.0/0331.html
  22.  
  23. Under linux, the mount option "mand" must be used (see
  24. linux/Documentation/mandatory.txt) for mandatory file locks to be
  25. enabled. Wipe should make it extremely difficult for all but the most
  26. determined person(s) to recover the original plaintext data. Utilities
  27. such as PGP and the GNU Privacy Guard provide strong encryption, but
  28. encryption is useless if the original plaintext can be recovered. When
  29. using PGP and GPG, temporary files that are disk-backed should be
  30. stored on an encrypted file system. That way, the plaintext never hits
  31. the platters. Wipe is designed for situations where an encrypted file
  32. system isn't practical.
  33.  
  34. Making the following assumptions:
  35.  
  36. 1. at least one of Peter Guttman's patterns is correct for the device
  37.    you're wiping
  38.  
  39. 2. the patterns are actually being written to the media
  40.  
  41. 3. the correct sectors are being written to
  42.  
  43. it's likely that wipe will make it more difficult to recover the
  44. original data.
  45.  
  46. Those assumptions are respectively incorrect if:
  47.  
  48. 1. writing to a drive that uses a newer encoding scheme
  49.  
  50. 2. the passes are being buffered and merged by the drive electronics,
  51.    controller or the OS
  52.  
  53. 3. you're wiping a file in a log structured file system or any FS that
  54.    doesn't overwrite the file's previously allocated sectors
  55.  
  56.    or the drive has reassigned one or more sectors due to errors
  57.  
  58. If you're using LFS or something like it, the only way to wipe the
  59. file's previous contents (from userspace) is to wipe the whole
  60. partition. The more practical solution is for wiping to be done by the
  61. FS. Unfortunely, this has it's own problem; wiping is IO intense and
  62. synchronis.
  63.  
  64. Some programs are vulnerable to symlink races. To avoid this problem
  65. with wipe, only wipe files in directories that are not writable by
  66. untrusted users.
  67.  
  68. Wipe uses /dev/urandom, or if unavailable, /dev/random, as a source
  69. for entropy. The Mersenne Twister PRNG is used for speed. The MT site
  70. is at:
  71.  
  72. http://www.math.keio.ac.jp/~matumoto/emt.html
  73.  
  74. For more information on the secure deletion of magnetic media and
  75. solid state storage devices (such as DRAM) see the USENIX article by
  76. Peter Gutmann at:
  77.  
  78. http://www.cs.auckland.ac.nz/~pgut001/secure_del.html
  79.